{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "5adb08e3-bd85-48d3-bb13-b0fff849a3ae",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "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8ssYPXo0dDodUlNT8dBDD6G+vt5How1u27dvx9y5czFo0CBoNBq89957Hb6nsLAQEydOREREBEaMGIG//OUvPTM4Jcht2rRJCQ8PV9544w3l8OHDys9//nOlX79+Snl5ucvzi4qKFK1Wqzz//PPKkSNHlKVLlyphYWHKoUOHfDzy4OTt733HHXcof/zjH5X9+/cr33zzjXLXXXcper1eOXfunI9HHpy8/b1Vp06dUlJSUpSrrrpKmTdvnm8G2wt4+3s3NDQokydPVm644Qbl888/V06dOqUUFhYqBw4c8PHIg5O3v/ebb76pREREKG+++aZy6tQpZcuWLUpycrLy0EMP+XjkwSk/P195/PHHlXfeeUcBoLz77rvtnn/y5EklKipKefjhh5UjR44of/jDHxStVqv84x//6PaxBX0wMmXKFGXRokWtz61WqzJo0CAlLy/P5fk5OTnKjTfe6HDsyiuvVH75y1/26Dh7C29/b2fNzc1KbGyssmHDhp4aYq/Smd+7ublZmTp1qvLnP/9ZWbBgAYMRL3j7e69evVoZPny40tjY6Ksh9ire/t6LFi1Srr32WodjDz/8sDJt2rQeHWdv5Ekw8pvf/EbJyMhwOPaTn/xEmTVrVrePJ6inaRobG7F3717MmDGj9VhISAhmzJiBnTt3unzPzp07Hc4HgFmzZrk9n2w683s7s1gsaGpqQkJCQk8Ns9fo7O/91FNPITExEQsXLvTFMHuNzvzeH3zwAbKysrBo0SIkJSVh/PjxePbZZ2G1Wn017KDVmd976tSp2Lt3b+tUzsmTJ5Gfn48bbrjBJ2Pua3x5v+zyRnn+9N1338FqtSIpKcnheFJSEr799luX7ykrK3N5fllZWY+Ns7fozO/t7NFHH8WgQYPa/AdObXXm9/7888+xbt06HDhwwAcj7F0683ufPHkSn376KebPn4/8/HwcP34c9957L5qamrBs2TJfDDtodeb3vuOOO/Ddd9/hBz/4ARRFQXNzM371q1/hscce88WQ+xx390uz2Yy6ujrodLpu+6ygzoxQcFm5ciU2bdqEd999F5GRkf4eTq9TXV2NO++8E2vXrkX//v39PZw+oaWlBYmJiXj99dcxadIk/OQnP8Hjjz+O1157zd9D65UKCwvx7LPP4k9/+hP27duHd955B3//+9/x9NNP+3to1EVBnRnp378/tFotysvLHY6Xl5dj4MCBLt8zcOBAr84nm8783qoXX3wRK1euxD//+U9kZmb25DB7DW9/7xMnTuD06dOYO3du67GWlhYAQGhoKI4ePYr09PSeHXQQ68x/38nJyQgLC4NWq209NnbsWJSVlaGxsRHh4eE9OuZg1pnf+3e/+x3uvPNO/OxnPwMAXHbZZaitrcUvfvELPP744w4btVLXubtfxsXFdWtWBAjyzEh4eDgmTZqEgoKC1mMtLS0oKChAVlaWy/dkZWU5nA8AW7dudXs+2XTm9waA559/Hk8//TT+8Y9/YPLkyb4Yaq/g7e89ZswYHDp0CAcOHGh93HTTTfjhD3+IAwcOIDU11ZfDDzqd+e972rRpOH78eGvQBwDHjh1DcnIyA5EOdOb3tlgsbQIONRBUuM1at/Pp/bLbS2J9bNOmTUpERITyl7/8RTly5Ijyi1/8QunXr59SVlamKIqi3Hnnncpvf/vb1vOLioqU0NBQ5cUXX1S++eYbZdmyZVza6wVvf++VK1cq4eHhyttvv62Ulpa2Pqqrq/31FYKKt7+3M66m8Y63v3dJSYkSGxur3HfffcrRo0eVjz76SElMTFRWrFjhr68QVLz9vZctW6bExsYqf/vb35STJ08qn3zyiZKenq7k5OT46ysElerqamX//v3K/v37FQDKSy+9pOzfv185c+aMoiiK8tvf/la58847W89Xl/Y+8sgjyjfffKP88Y9/5NLe9vzhD39Q0tLSlPDwcGXKlCnKrl27Wl+bPn26smDBAofzN2/erIwaNUoJDw9XMjIylL///e8+HnFw8+b3HjJkiAKgzWPZsmW+H3iQ8va/b3sMRrzn7e+9Y8cO5corr1QiIiKU4cOHK88884zS3Nzs41EHL29+76amJuXJJ59U0tPTlcjISCU1NVW59957lUuXLvl+4EHos88+c/n/x+pvvGDBAmX69Olt3jNhwgQlPDxcGT58uLJ+/foeGZtGUZjbIiIiIv8J6poRIiIiCn4MRoiIiMivGIwQERGRXzEYISIiIr9iMEJERER+xWCEiIiI/IrBCBEREfkVgxEiIiLyKwYjRORTVqsVU6dOxY9+9COH4yaTCampqXj88cf9NDIi8hd2YCUinzt27BgmTJiAtWvXYv78+QCA3NxcfPXVV9izZw83mSPqYxiMEJFfvPrqq3jyySdx+PBh7N69G7feeiv27NmDyy+/3N9DIyIfYzBCRH6hKAquvfZaaLVaHDp0CPfffz+WLl3q72ERkR8wGCEiv/n2228xduxYXHbZZdi3bx9CQ0P9PSQi8gMWsBKR37zxxhuIiorCqVOncO7cOX8Ph4j8hJkRIvKLHTt2YPr06fjkk0+wYsUKAMA///lPaDQaP4+MiHyNmREi8jmLxYK77roL99xzD374wx9i3bp12L17N1577TV/D42I/ICZESLyucWLFyM/Px9fffUVoqKiAABr1qzBr3/9axw6dAhDhw717wCJyKcYjBCRT23btg3Z2dkoLCzED37wA4fXZs2ahebmZk7XEPUxDEaIiIjIr1gzQkRERH7FYISIiIj8isEIERER+RWDESIiIvIrBiNERETkVwxGiIiIyK8YjBAREZFfMRghIiIiv2IwQkRERH7FYISIiIj8isEIERER+RWDESIiIvKr/w+pBwgI+TA8SAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    " \n",
    "def loadDataSet(fileName):\n",
    "    \"\"\"\n",
    "    函数说明:加载数据\n",
    "    Parameters:\n",
    "        fileName - 文件名\n",
    "    Returns:\n",
    "        xArr - x数据集\n",
    "        yArr - y数据集\n",
    "    Website:\n",
    "        https://www.cuijiahua.com/\n",
    "    Modify:\n",
    "        2017-11-12\n",
    "    \"\"\"\n",
    " \n",
    "    numFeat = len(open(fileName).readline().split('\\t')) - 1\n",
    "    xArr = []; yArr = []\n",
    "    fr = open(fileName)\n",
    "    for line in fr.readlines():\n",
    "        lineArr =[]\n",
    "        curLine = line.strip().split('\\t')\n",
    "        for i in range(numFeat):\n",
    "            lineArr.append(float(curLine[i]))\n",
    "        xArr.append(lineArr)\n",
    "        yArr.append(float(curLine[-1]))\n",
    "    return xArr, yArr\n",
    " \n",
    "def plotDataSet():\n",
    "    \"\"\"\n",
    "    函数说明:绘制数据集\n",
    "    Parameters:\n",
    "        无\n",
    "    Returns:\n",
    "        无\n",
    "    Website:\n",
    "        https://www.cuijiahua.com/\n",
    "    Modify:\n",
    "        2017-11-12\n",
    "    \"\"\"\n",
    "    xArr, yArr = loadDataSet('ex0.txt')                                    #加载数据集\n",
    "    n = len(xArr)                                                        #数据个数\n",
    "    xcord = []; ycord = []                                                #样本点\n",
    "    for i in range(n):                                                   \n",
    "        xcord.append(xArr[i][1]); ycord.append(yArr[i])                    #样本点\n",
    "    fig = plt.figure()\n",
    "    ax = fig.add_subplot(111)                                            #添加subplot\n",
    "    ax.scatter(xcord, ycord, s = 20, c = 'blue',alpha = .5)                #绘制样本点\n",
    "    plt.title('DataSet')                                                #绘制title\n",
    "    plt.xlabel('X')\n",
    "    plt.show()\n",
    " \n",
    "if __name__ == '__main__':\n",
    "    plotDataSet()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "35c40d9a-d3ad-4ac0-a6b2-f31a6e06dc7e",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiwAAAHHCAYAAACcHAM1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB/cElEQVR4nO3dd3xTZdsH8F+a7pW2AbooUEoB2esFCypKkSEyRGVqQXHjehwoOBBEi4gLBygIojIEBXGAgNWCsmULiIxCqdCCKU33Pu8fl6dJ2nSkM21/388nn5KTk5P75H3eJ9dz3dd93RpFURQQERER2TGHuh4AERERUXkYsBAREZHdY8BCREREdo8BCxEREdk9BixERERk9xiwEBERkd1jwEJERER2jwELERER2T0GLERERGT3GLAQERGR3WPAQkQV8tlnn0Gj0RQ9XF1dERQUhMGDB2PBggVIS0ur1HV37tyJV155BSkpKZUeW2FhIT7//HP06dMHfn5+8PLyQtu2bREVFYXdu3fbfL3MzEy88soriI2NrfSYiKh6Odb1AIiofpk9ezZCQ0ORl5eHxMRExMbG4sknn8Tbb7+N7777Dl26dLHpejt37sSsWbMwefJk+Pj4VGpMjz/+OD788EOMHDkSEydOhKOjI06ePIlNmzahdevWuPbaa226XmZmJmbNmgUAuPHGGys1JiKqXgxYiMgmQ4cORa9evYqeT58+Hb/88gtuvfVWjBgxAidOnICbm1utjScpKQkfffQR7r//fnzyyScWr7377ru4cuVKrY2FiGoOp4SIqMoGDBiAl156CefPn8eXX34JADhy5AgmT56M1q1bw9XVFQEBAbj33nthMBiK3vfKK6/g2WefBQCEhoYWTTedO3cOALBs2TIMGDAAzZo1g4uLCzp06ICFCxdafHZcXBwURUG/fv1KjEuj0aBZs2YWx1JSUvDkk08iJCQELi4uaNOmDd544w0UFhYCAM6dO4emTZsCAGbNmlU0pldeeaVavisiqhxmWIioWtx9992YMWMGtmzZgvvvvx9bt27F2bNncc899yAgIADHjh3DJ598gmPHjmH37t3QaDQYPXo0/v77b6xatQrvvPMOmjRpAgBFAcPChQvRsWNHjBgxAo6Ojvj+++/xyCOPoLCwEFOnTgUAtGzZEgCwdu1a3HnnnXB3dy91jJmZmejfvz/+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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    " \n",
    "def loadDataSet(fileName):\n",
    "    \"\"\"\n",
    "    函数说明:加载数据\n",
    "    Parameters:\n",
    "        fileName - 文件名\n",
    "    Returns:\n",
    "        xArr - x数据集\n",
    "        yArr - y数据集\n",
    "    Website:\n",
    "        https://www.cuijiahua.com/\n",
    "    Modify:\n",
    "        2017-11-12\n",
    "    \"\"\"\n",
    "    numFeat = len(open(fileName).readline().split('\\t')) - 1\n",
    "    xArr = []; yArr = []\n",
    "    fr = open(fileName)\n",
    "    for line in fr.readlines():\n",
    "        lineArr =[]\n",
    "        curLine = line.strip().split('\\t')\n",
    "        for i in range(numFeat):\n",
    "            lineArr.append(float(curLine[i]))\n",
    "        xArr.append(lineArr)\n",
    "        yArr.append(float(curLine[-1]))\n",
    "    return xArr, yArr\n",
    " \n",
    "def standRegres(xArr,yArr):\n",
    "    \"\"\"\n",
    "    函数说明:计算回归系数w\n",
    "    Parameters:\n",
    "        xArr - x数据集\n",
    "        yArr - y数据集\n",
    "    Returns:\n",
    "        ws - 回归系数\n",
    "    Website:\n",
    "        https://www.cuijiahua.com/\n",
    "    Modify:\n",
    "        2017-11-12\n",
    "    \"\"\"\n",
    "    xMat = np.mat(xArr); yMat = np.mat(yArr).T\n",
    "    xTx = xMat.T * xMat                            #根据文中推导的公示计算回归系数\n",
    "    if np.linalg.det(xTx) == 0.0:\n",
    "        print(\"矩阵为奇异矩阵,不能求逆\")\n",
    "        return\n",
    "    ws = xTx.I * (xMat.T*yMat)\n",
    "    return ws\n",
    " \n",
    "def plotRegression():\n",
    "    \"\"\"\n",
    "    函数说明:绘制回归曲线和数据点\n",
    "    Parameters:\n",
    "        无\n",
    "    Returns:\n",
    "        无\n",
    "    Website:\n",
    "        https://www.cuijiahua.com/\n",
    "    Modify:\n",
    "        2017-11-12\n",
    "    \"\"\"\n",
    "    xArr, yArr = loadDataSet('ex0.txt')                                    #加载数据集\n",
    "    ws = standRegres(xArr, yArr)                                        #计算回归系数\n",
    "    xMat = np.mat(xArr)                                                    #创建xMat矩阵\n",
    "    yMat = np.mat(yArr)                                                    #创建yMat矩阵\n",
    "    xCopy = xMat.copy()                                                    #深拷贝xMat矩阵\n",
    "    xCopy.sort(0)                                                        #排序\n",
    "    yHat = xCopy * ws                                                     #计算对应的y值\n",
    "    fig = plt.figure()\n",
    "    ax = fig.add_subplot(111)                                            #添加subplot\n",
    "    ax.plot(xCopy[:, 1], yHat, c = 'red')                                #绘制回归曲线\n",
    "    ax.scatter(xMat[:,1].flatten().A[0], yMat.flatten().A[0], s = 20, c = 'blue',alpha = .5)                #绘制样本点\n",
    "    plt.title('DataSet')                                                #绘制title\n",
    "    plt.xlabel('X')\n",
    "    plt.show()\n",
    " \n",
    "if __name__ == '__main__':\n",
    "    plotRegression()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "1d541082-4dd0-4e7d-9e1e-e06a62a59d33",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练集与测试集相同:局部加权线性回归,核k的大小对预测的影响:\n",
      "k=0.1时,误差大小为: 56.78868743048742\n",
      "k=1  时,误差大小为: 429.8905618704113\n",
      "k=10 时,误差大小为: 549.1181708828805\n",
      "\n",
      "训练集与测试集不同:局部加权线性回归,核k的大小是越小越好吗？更换数据集,测试结果如下:\n",
      "k=0.1时,误差大小为: 57913.51550155912\n",
      "k=1  时,误差大小为: 573.5261441894984\n",
      "k=10 时,误差大小为: 517.5711905381039\n",
      "\n",
      "训练集与测试集不同:简单的线性归回与k=1时的局部加权线性回归对比:\n",
      "k=1时,误差大小为: 573.5261441894984\n",
      "简单的线性回归误差大小: 518.6363153245542\n"
     ]
    }
   ],
   "source": [
    "# -*- coding:utf-8 -*-\n",
    "import numpy as np\n",
    "\n",
    "\n",
    "def loadDataSet(fileName):\n",
    "    \"\"\"\n",
    "    函数说明:加载数据\n",
    "    Parameters:\n",
    "        fileName - 文件名\n",
    "    Returns:\n",
    "        xArr - x数据集\n",
    "        yArr - y数据集\n",
    "    Website:\n",
    "        http://www.cuijiahua.com/\n",
    "    Modify:\n",
    "        2017-11-19\n",
    "    \"\"\"\n",
    "    numFeat = len(open(fileName).readline().split('\\t')) - 1\n",
    "    xArr = [];\n",
    "    yArr = []\n",
    "    fr = open(fileName)\n",
    "    for line in fr.readlines():\n",
    "        lineArr = []\n",
    "        curLine = line.strip().split('\\t')\n",
    "        for i in range(numFeat):\n",
    "            lineArr.append(float(curLine[i]))\n",
    "        xArr.append(lineArr)\n",
    "        yArr.append(float(curLine[-1]))\n",
    "    return xArr, yArr\n",
    "\n",
    "\n",
    "def lwlr(testPoint, xArr, yArr, k=1.0):\n",
    "    \"\"\"\n",
    "    函数说明:使用局部加权线性回归计算回归系数w\n",
    "    Parameters:\n",
    "        testPoint - 测试样本点\n",
    "        xArr - x数据集\n",
    "        yArr - y数据集\n",
    "        k - 高斯核的k,自定义参数\n",
    "    Returns:\n",
    "        ws - 回归系数\n",
    "    Website:\n",
    "        http://www.cuijiahua.com/\n",
    "    Modify:\n",
    "        2017-11-19\n",
    "    \"\"\"\n",
    "    xMat = np.mat(xArr);\n",
    "    yMat = np.mat(yArr).T\n",
    "    m = np.shape(xMat)[0]\n",
    "    weights = np.mat(np.eye((m)))  # 创建权重对角矩阵\n",
    "    for j in range(m):  # 遍历数据集计算每个样本的权重\n",
    "        diffMat = testPoint - xMat[j, :]\n",
    "        weights[j, j] = np.exp(diffMat * diffMat.T / (-2.0 * k ** 2))\n",
    "    xTx = xMat.T * (weights * xMat)\n",
    "    if np.linalg.det(xTx) == 0.0:\n",
    "        print(\"矩阵为奇异矩阵,不能求逆\")\n",
    "        return\n",
    "    ws = xTx.I * (xMat.T * (weights * yMat))  # 计算回归系数\n",
    "    return testPoint * ws\n",
    "\n",
    "\n",
    "def lwlrTest(testArr, xArr, yArr, k=1.0):\n",
    "    \"\"\"\n",
    "    函数说明:局部加权线性回归测试\n",
    "    Parameters:\n",
    "        testArr - 测试数据集,测试集\n",
    "        xArr - x数据集,训练集\n",
    "        yArr - y数据集,训练集\n",
    "        k - 高斯核的k,自定义参数\n",
    "    Returns:\n",
    "        ws - 回归系数\n",
    "    Website:\n",
    "        http://www.cuijiahua.com/\n",
    "    Modify:\n",
    "        2017-11-19\n",
    "    \"\"\"\n",
    "    m = np.shape(testArr)[0]  # 计算测试数据集大小\n",
    "    yHat = np.zeros(m)\n",
    "    for i in range(m):  # 对每个样本点进行预测\n",
    "        yHat[i] = lwlr(testArr[i], xArr, yArr, k)\n",
    "    return yHat\n",
    "\n",
    "\n",
    "def standRegres(xArr, yArr):\n",
    "    \"\"\"\n",
    "    函数说明:计算回归系数w\n",
    "    Parameters:\n",
    "        xArr - x数据集\n",
    "        yArr - y数据集\n",
    "    Returns:\n",
    "        ws - 回归系数\n",
    "    Website:\n",
    "        http://www.cuijiahua.com/\n",
    "    Modify:\n",
    "        2017-11-19\n",
    "    \"\"\"\n",
    "    xMat = np.mat(xArr);\n",
    "    yMat = np.mat(yArr).T\n",
    "    xTx = xMat.T * xMat  # 根据文中推导的公示计算回归系数\n",
    "    if np.linalg.det(xTx) == 0.0:\n",
    "        print(\"矩阵为奇异矩阵,不能求逆\")\n",
    "        return\n",
    "    ws = xTx.I * (xMat.T * yMat)\n",
    "    return ws\n",
    "\n",
    "\n",
    "def rssError(yArr, yHatArr):\n",
    "    \"\"\"\n",
    "    误差大小评价函数\n",
    "    Parameters:\n",
    "        yArr - 真实数据\n",
    "        yHatArr - 预测数据\n",
    "    Returns:\n",
    "        误差大小\n",
    "    \"\"\"\n",
    "    return ((yArr - yHatArr) ** 2).sum()\n",
    "\n",
    "\n",
    "if __name__ == '__main__':\n",
    "    abX, abY = loadDataSet('abalone.txt')\n",
    "    print('训练集与测试集相同:局部加权线性回归,核k的大小对预测的影响:')\n",
    "    yHat01 = lwlrTest(abX[0:99], abX[0:99], abY[0:99], 0.1)\n",
    "    yHat1 = lwlrTest(abX[0:99], abX[0:99], abY[0:99], 1)\n",
    "    yHat10 = lwlrTest(abX[0:99], abX[0:99], abY[0:99], 10)\n",
    "    print('k=0.1时,误差大小为:', rssError(abY[0:99], yHat01.T))\n",
    "    print('k=1  时,误差大小为:', rssError(abY[0:99], yHat1.T))\n",
    "    print('k=10 时,误差大小为:', rssError(abY[0:99], yHat10.T))\n",
    "\n",
    "    print('')\n",
    "\n",
    "    print('训练集与测试集不同:局部加权线性回归,核k的大小是越小越好吗？更换数据集,测试结果如下:')\n",
    "    yHat01 = lwlrTest(abX[100:199], abX[0:99], abY[0:99], 0.1)\n",
    "    yHat1 = lwlrTest(abX[100:199], abX[0:99], abY[0:99], 1)\n",
    "    yHat10 = lwlrTest(abX[100:199], abX[0:99], abY[0:99], 10)\n",
    "    print('k=0.1时,误差大小为:', rssError(abY[100:199], yHat01.T))\n",
    "    print('k=1  时,误差大小为:', rssError(abY[100:199], yHat1.T))\n",
    "    print('k=10 时,误差大小为:', rssError(abY[100:199], yHat10.T))\n",
    "\n",
    "    print('')\n",
    "\n",
    "    print('训练集与测试集不同:简单的线性归回与k=1时的局部加权线性回归对比:')\n",
    "    print('k=1时,误差大小为:', rssError(abY[100:199], yHat1.T))\n",
    "    ws = standRegres(abX[0:99], abY[0:99])\n",
    "    yHat = np.mat(abX[100:199]) * ws\n",
    "    print('简单的线性回归误差大小:', rssError(abY[100:199], yHat.T.A))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "55c381cd-c475-4f63-860e-98c4b2177908",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1., 0., 0., 0.],\n",
       "       [0., 1., 0., 0.],\n",
       "       [0., 0., 1., 0.],\n",
       "       [0., 0., 0., 1.]])"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(np.eye(4))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f279d4b6-270d-4d2d-b05c-6da3f048421c",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
